Parallaxis makes the following assumptions about its abstract parallel machine, whether it is physically present or simulated:
Within the realm of this machine model, the programmer may now choose a certain topological
structure for the communication network to achieve the best possible match between
architecture and algorithm of a given problem. For each application, the number of PEs and the
network topology is static, that is, it has to be specified prior to compilation and will remain
unchanged during program execution.
The specification of the network structure's logical form takes two steps: First, Parallaxis is
told the number of processing elements one wants to use and how they will be arranged in
dimensions. This almost exactly takes the form of Modula-2's array declaration, except that we
are dealing with processors here instead of data elements. Although we create some neighbor
relation between the PEs by this declaration, this does not specify any connections between
processors which is reserved for the second step. There, we may specify a transfer-function
(from a general PE position to its relative neighbor) for every processor-port in this topology.
Or, stated differently, the number of transfer-functions provided equals the number of ports per
PE. Each transfer-function has a name (the exit-port's name) and also states the name of the
corresponding entry port on its neighbor-PE after a period.
Parallaxis allows the specification of arbitrary network topologies. The examples shown in the
following sections should be guidelines for modeling other topologies.